package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.Travel;
import cn.wolfcode.trip.base.domain.TravelContent;
import cn.wolfcode.trip.base.query.QueryObject;
import cn.wolfcode.trip.base.query.StrategyCatalogQueryObject;
import cn.wolfcode.trip.base.query.TravelQueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface ITravelService {
    PageInfo<Travel> listByAuthorId(TravelQueryObject qo);

    void save(Travel travel, String content);

    PageInfo<Travel> queryForList(TravelQueryObject qo);

    TravelContent getContent(Long id);

    void updateState(Long id, Integer state);

    Travel getById(Long id);

    void update(Travel travel, String content);

    PageInfo<?> selectTravelByStrategyId(StrategyCatalogQueryObject qo);

    void deleteTravelId(Long travelId);

    void saveStrategyAndTravel(Long strategyId, Long travelId);

    List<Travel> selectAllReaseTravel();

    Long getTravelsNum(QueryObject qo);

    int getAmount(Long userId);

    List<Travel> selectAll(String keyWord);
}
